package nc.itf.mmpac.pickm;

import java.util.List;
import java.util.Map;

import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.vo.bd.material.MaterialVersionVO;
import nc.vo.mmpac.pickm.entity.AggPickmVO;
import nc.vo.mmpac.pickm.entity.MaterialQueryCondition;
import nc.vo.mmpac.pickm.entity.MaterialRelationItem;
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
import nc.vo.mmpac.pickm.entity.PickmItemVO;
import nc.vo.mmpac.pickm.param.PickmParamForAdd;
import nc.vo.mmpac.pickm.param.PickmQueryMOParamForSetDelivery;
import nc.vo.mmpac.pickm.param.PickmTransParamForPlanReplace;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFBoolean;

public abstract interface IPickmQueryService
{
  public abstract Object[] queryByWhereSql(String paramString, Class paramClass, boolean paramBoolean, String[] paramArrayOfString)
    throws BusinessException;
  
  public abstract Object[] queryByWhereSql(String paramString)
    throws BusinessException;
  
  public abstract AggPickmVO[] queryByQueryScheme(IQueryScheme paramIQueryScheme, Integer paramInteger)
    throws BusinessException;
  
  public abstract AggPickmVO querySingleBillByPk(String paramString)
    throws BusinessException;
  
  public abstract AggPickmVO[] queryBillsByPks(String[] paramArrayOfString)
    throws BusinessException;
  
  public abstract MaterialRelationItem queryRelationItemForHead(MaterialQueryCondition paramMaterialQueryCondition)
    throws BusinessException;
  
  public abstract Map<String, MaterialVersionVO> queryMaterialVersionVOByPks(String[] paramArrayOfString)
    throws BusinessException;
  
  public abstract PickmItemVO queryPickmItemByPK(String paramString)
    throws BusinessException;
  
  public abstract Map<String, UFBoolean> queryHasDownFlowBill(String[] paramArrayOfString)
    throws BusinessException;
  
  public abstract Map<String, Map<String, UFBoolean>> queryNeededData(AggPickmVO[] paramArrayOfAggPickmVO)
    throws BusinessException;
  
  public abstract AggPickmVO[] queryPermData(AggPickmVO[] paramArrayOfAggPickmVO)
    throws BusinessException;
  
  public abstract Map<String, Object[]> queryAcceptLowerData(PickmHeadVO paramPickmHeadVO, PickmItemVO paramPickmItemVO)
    throws BusinessException;
  
  public abstract Map<String, Object[]> queryUnAcceptLowerData(String paramString)
    throws BusinessException;
  
  public abstract String querySCOrderStock(String paramString1, String paramString2)
    throws BusinessException;
  
  public abstract Map<String, PickmQueryMOParamForSetDelivery> queryMOInfo(String[] paramArrayOfString, boolean paramBoolean)
    throws BusinessException;
  
  public abstract PickmTransParamForPlanReplace[] queryMatSumPlanOutNumFromSameFirstBill(PickmTransParamForPlanReplace[] paramArrayOfPickmTransParamForPlanReplace)
    throws BusinessException;
  
  public abstract Object[] queryPSCPickmByQueryScheme(IQueryScheme paramIQueryScheme)
    throws BusinessException;
  
  public abstract Map<String, UFBoolean> queryIsHavePSCitemsByRowIDs(String[] paramArrayOfString)
    throws BusinessException;
  
  public abstract Map<String, String> queryVidByOidForOrgAndDept(List<String> paramList1, List<String> paramList2)
    throws BusinessException;
  
  public abstract PickmParamForAdd queryOrgvidAndTransinfForAdd(String paramString1, String paramString2)
    throws BusinessException;

	public abstract String getDefaultBomPkByMaterialAndVfree1(String pk_material,String vfree1);
}
